home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 2 / Tech Arsenal 2 (Arsenal Computer).iso / clipper / s93bsp.exe / CL5 / BODY00.PRG < prev    next >
Encoding:
Text File  |  1993-11-26  |  15.6 KB  |  785 lines

  1. ///////////////////////////////////////////////////////////////
  2. //
  3. //  Module : BODY00.PRG
  4. //
  5. //  Created by SUMMER'93 (c) on Fri Nov 26 14:51:25 1993
  6. //
  7. ///////////////////////////////////////////////////////////////
  8. #include "snj.ch"
  9. // The following statics were declared 'PUBLIC' in the S87 code
  10. // OR were private and inherited by called functions
  11. // If they are used outside this module there will be a set/get
  12. // function with the same name as the var in this module
  13. static MINVNO, MSPEEDO, MFUEL, MPARTDISC, MVATRATE, MOWNNAME, MOWNADD1;
  14. , MOWNADD2, MOWNADD3, MMAKEMODEL, MINSCO, MINSADD1, MINSADD2, MINSENG, MINSTEL;
  15. , MPAINT, MOWNTELH, MOWNTELB, MOWNVAT, MINSTOPAY, MACTYPE, MWORKTYPE, MDATEIN;
  16. , MDATEOUT, MDATEINV, MREGNO, MYEAR, MENGNO, MCHASNO, MESTNO, MLABESTNO;
  17. , MCLAIMNO, MLABOUR1, MLABOUR2, MLABOUR3, MLABOUR4, MLABOURT, MINSLAB, MOWNLAB;
  18. , MINSPART, MOWNPART, MINSSPEC, MOWNSPEC, MINSAMT, MOWNAMT, MEXCESS, MCONTRIB;
  19. , MINSDUE, MOWNDUE, MINVTOTAL, MCUSTTYP, ML2TEXT, ML3TEXT, ML4TEXT, MTRIM;
  20. , MPARTSPEC, MPARTDESC, MQTY, MTPRICE, MUPRICE, MOWNINIT, IPDSCNT, OPDSCNT;
  21. , ISUBTOT, OSUBTOT, IVATAMT, OVATAMT, INSSUB, OWNSUB, MCTYPE, MCDESC, MADD;
  22. , MPLINENO, MEDITING, AUTOADD, PARTFLDS [ 4 ], PARTHDRS [ 4 ], PARTPICS [ 4 ]
  23. // This procedure named after its module
  24. procedure BODY00
  25. // Calls: BODYWORK 
  26. // Called By: MAIN 
  27. if pcount( )<> 0 
  28.     altd( )
  29. endif 
  30. do BODYWORK
  31. // set procedure to CUSTYPFN additive
  32. // set procedure to HOUSE00 additive
  33. // set procedure to INV00 additive
  34. // set procedure to INV01 additive
  35. // set procedure to INVSCRN additive
  36. // set procedure to INVSLCT additive
  37. // set procedure to PARTFUNC additive
  38. // set procedure to QBDBFUNC additive
  39. // set procedure to QBIPROC additive
  40. // set procedure to QBPROCS additive
  41. // set procedure to QBTXTMAC additive
  42. // set procedure to REP00 additive
  43. quit 
  44.  
  45. function GOTOP
  46. // Calls: 
  47. // Called By: 
  48. go top 
  49. return reccount( )
  50.  
  51. function QBSKIP( NSKIP ) // Amended by SUMMER93
  52. // Calls: 
  53. // Called By: 
  54. skip NSKIP 
  55. return recno( )
  56.  
  57.  
  58. procedure BODYWORK
  59. // Calls: QBINIT BODYINIT QBLAYOUT QBBOX QBMENU QBYESNO INVMAIN REPMAIN HOUSEMAIN 
  60. // Called By: BODY00 
  61. //** BODY00.PRG : Main menu.
  62. //**
  63.  
  64. local MAINCH
  65. do QBINIT
  66. do BODYINIT
  67.  
  68.  
  69.  
  70. do while .t. 
  71.  
  72.     do QBLAYOUT with "Main menu" 
  73.     do QBBOX with 40 
  74.     MAINCH := QBMENU( "MAIN", 30 )
  75.  
  76.     do case 
  77.         case MAINCH  = 0 .or. MAINCH  = 4 
  78.             if QBYESNO( "Do you really wish to Quit now?" ) = "Y" 
  79.                 exit 
  80.             endif 
  81.         case MAINCH  = 1 
  82.             do INVMAIN
  83.         case MAINCH  = 2 
  84.             do REPMAIN
  85.         case MAINCH  = 3 
  86.             do HOUSEMAIN
  87.     endcase 
  88.     QBCHOICE( MAINCH  )
  89.  
  90. enddo 
  91.  
  92. close database 
  93. clear screen
  94. ?? "Exit " + trim( QBTITLE() ) + " application" 
  95. quit 
  96.  
  97. //******************************************************************
  98.  
  99. procedure BODYINIT
  100. // Calls: INVCLEAR PARTCLEAR 
  101. // Called By: BODYWORK 
  102. //       B O D Y I N I T
  103.  
  104. //       INVOICE Information
  105.  
  106. // public PARTFLDS[5], PARTHDRS[5], PARTPICS[5]
  107.  
  108. INVCLEAR( )
  109. PARTCLEAR( )
  110. MCUSTTYP := space(4 )
  111. MCDESC := space(35 )
  112. MADD := MEDITING := AUTOADD := .f. 
  113.  
  114. PARTHDRS[ 1 ] := " Description" 
  115. PARTFLDS[ 1 ] := "PARTDESC" 
  116. PARTPICS[ 1 ] := replicate( "X", 15 )
  117. PARTHDRS[ 2 ] := "Qty" 
  118. PARTFLDS[ 2 ] := "QTY" 
  119. PARTPICS[ 2 ] := "99" 
  120. PARTHDRS[ 3 ] := " Unit P" 
  121. PARTFLDS[ 3 ] := "UPRICE" 
  122. PARTPICS[ 3 ] := "9999.99" 
  123. PARTHDRS[ 4 ] := "Total P" 
  124. PARTFLDS[ 4 ] := "TPRICE" 
  125. PARTPICS[ 4 ] := "9999.99" 
  126. //PARTHDRS[5] = "Part/Spec"
  127. //PARTFLDS[5] = "PARTSPEC"
  128. //PARTPICS[5] = "@R     !"
  129.  
  130. return 
  131.  
  132. //******************************************************************
  133.  
  134. function V2DATES( OTHERD, TESTYPE ) // Amended by SUMMER93
  135. // Calls: 
  136. // Called By: INVVEH 
  137. //       Vali DATE ha ha
  138. local RETVAL, MEM, VARNAME
  139.  
  140.  
  141. VARNAME := readvar()
  142. // SUMMER93 - Caution
  143. // A call to 'readvar' followed by a macro can 
  144. // be replaced by use of 'getactive' and 'varget'
  145. // VARNAME := GETACTIVE():VARGET()
  146. MEM := &VARNAME 
  147. if( empty(MEM ).or. empty(OTHERD )).and. TESTYPE > 0 
  148.     return .t. 
  149. else 
  150.     TESTYPE := abs( TESTYPE )
  151. endif 
  152.  
  153. do case 
  154.     case TESTYPE  = 1 
  155.         RETVAL := ( MEM <= OTHERD )
  156.     case TESTYPE  = 2 
  157.         RETVAL := ( MEM >= OTHERD )
  158.     case TESTYPE  = 3 
  159.         RETVAL := ( MEM < OTHERD )
  160.     case TESTYPE  = 4 
  161.         RETVAL := ( MEM > OTHERD )
  162.     otherwise 
  163.         RETVAL := .t. 
  164. endcase 
  165.  
  166. return RETVAL 
  167.  
  168. //****************************************************************
  169.  
  170. function PRPOS( NUM, PIC ) // Amended by SUMMER93
  171. // Calls: 
  172. // Called By: INVTOT 
  173. local PLEN, RETVAL
  174.  
  175.  
  176. if NUM > 0 
  177.     RETVAL := transform( NUM, PIC )
  178. else 
  179.     RETVAL := space( len(PIC ))
  180.     //    RETVAL = replicate("#",len(PIC))
  181. endif 
  182.  
  183. return RETVAL 
  184.  
  185. //*************************************************************
  186.  
  187. function NEWNUM( PRMSG ) // Amended by SUMMER93
  188. // Calls: QBMESS 
  189. // Called By: INVADD INVREN INVNEW 
  190. //       Validate New Invoice number
  191. local SELNO, RETVAL, OLDSCR, MEM, VARNAME
  192. if pcount( ) = 0 
  193.     PRMSG := .f. 
  194. endif 
  195.  
  196.  
  197. if PRMSG 
  198.     VARNAME := readvar()
  199.     // SUMMER93 - Caution
  200.     // A call to 'readvar' followed by a macro can 
  201.     // be replaced by use of 'getactive' and 'varget'
  202.     // VARNAME := GETACTIVE():VARGET()
  203.     MEM := &VARNAME 
  204. else 
  205.     MEM := MINVNO 
  206. endif 
  207. SELNO := select( )
  208.  
  209. select INVOICE 
  210. set index to INVNUM 
  211. set softseek off 
  212. seek str( MEM, 5 )
  213. RETVAL := eof( ).and. MEM > 0 
  214. if(  !RETVAL ).and. PRMSG 
  215.     OLDSCR := savescreen( 0, 0, 1, 79 )
  216.     do QBMESS with "Invoice already exists", COLFLASH() , 3 
  217.     restscreen( 0, 0, 1, 79, OLDSCR )
  218. endif 
  219. select( SELNO )
  220.  
  221. return RETVAL 
  222. FUNCTION MINVNO( xNewVal )
  223. local xReturn := MINVNO
  224. if xNewVal <> NIL
  225.     MINVNO := xNewVal
  226. endif
  227. return xReturn
  228.  
  229. FUNCTION MSPEEDO( xNewVal )
  230. local xReturn := MSPEEDO
  231. if xNewVal <> NIL
  232.     MSPEEDO := xNewVal
  233. endif
  234. return xReturn
  235.  
  236. FUNCTION MFUEL( xNewVal )
  237. local xReturn := MFUEL
  238. if xNewVal <> NIL
  239.     MFUEL := xNewVal
  240. endif
  241. return xReturn
  242.  
  243. FUNCTION MPARTDISC( xNewVal )
  244. local xReturn := MPARTDISC
  245. if xNewVal <> NIL
  246.     MPARTDISC := xNewVal
  247. endif
  248. return xReturn
  249.  
  250. FUNCTION MVATRATE( xNewVal )
  251. local xReturn := MVATRATE
  252. if xNewVal <> NIL
  253.     MVATRATE := xNewVal
  254. endif
  255. return xReturn
  256.  
  257. FUNCTION MOWNNAME( xNewVal )
  258. local xReturn := MOWNNAME
  259. if xNewVal <> NIL
  260.     MOWNNAME := xNewVal
  261. endif
  262. return xReturn
  263.  
  264. FUNCTION MOWNADD1( xNewVal )
  265. local xReturn := MOWNADD1
  266. if xNewVal <> NIL
  267.     MOWNADD1 := xNewVal
  268. endif
  269. return xReturn
  270.  
  271. FUNCTION MOWNADD2( xNewVal )
  272. local xReturn := MOWNADD2
  273. if xNewVal <> NIL
  274.     MOWNADD2 := xNewVal
  275. endif
  276. return xReturn
  277.  
  278. FUNCTION MOWNADD3( xNewVal )
  279. local xReturn := MOWNADD3
  280. if xNewVal <> NIL
  281.     MOWNADD3 := xNewVal
  282. endif
  283. return xReturn
  284.  
  285. FUNCTION MMAKEMODEL( xNewVal )
  286. local xReturn := MMAKEMODEL
  287. if xNewVal <> NIL
  288.     MMAKEMODEL := xNewVal
  289. endif
  290. return xReturn
  291.  
  292. FUNCTION MINSCO( xNewVal )
  293. local xReturn := MINSCO
  294. if xNewVal <> NIL
  295.     MINSCO := xNewVal
  296. endif
  297. return xReturn
  298.  
  299. FUNCTION MINSADD1( xNewVal )
  300. local xReturn := MINSADD1
  301. if xNewVal <> NIL
  302.     MINSADD1 := xNewVal
  303. endif
  304. return xReturn
  305.  
  306. FUNCTION MINSADD2( xNewVal )
  307. local xReturn := MINSADD2
  308. if xNewVal <> NIL
  309.     MINSADD2 := xNewVal
  310. endif
  311. return xReturn
  312.  
  313. FUNCTION MINSENG( xNewVal )
  314. local xReturn := MINSENG
  315. if xNewVal <> NIL
  316.     MINSENG := xNewVal
  317. endif
  318. return xReturn
  319.  
  320. FUNCTION MINSTEL( xNewVal )
  321. local xReturn := MINSTEL
  322. if xNewVal <> NIL
  323.     MINSTEL := xNewVal
  324. endif
  325. return xReturn
  326.  
  327. FUNCTION MPAINT( xNewVal )
  328. local xReturn := MPAINT
  329. if xNewVal <> NIL
  330.     MPAINT := xNewVal
  331. endif
  332. return xReturn
  333.  
  334. FUNCTION MOWNTELH( xNewVal )
  335. local xReturn := MOWNTELH
  336. if xNewVal <> NIL
  337.     MOWNTELH := xNewVal
  338. endif
  339. return xReturn
  340.  
  341. FUNCTION MOWNTELB( xNewVal )
  342. local xReturn := MOWNTELB
  343. if xNewVal <> NIL
  344.     MOWNTELB := xNewVal
  345. endif
  346. return xReturn
  347.  
  348. FUNCTION MOWNVAT( xNewVal )
  349. local xReturn := MOWNVAT
  350. if xNewVal <> NIL
  351.     MOWNVAT := xNewVal
  352. endif
  353. return xReturn
  354.  
  355. FUNCTION MINSTOPAY( xNewVal )
  356. local xReturn := MINSTOPAY
  357. if xNewVal <> NIL
  358.     MINSTOPAY := xNewVal
  359. endif
  360. return xReturn
  361.  
  362. FUNCTION MACTYPE( xNewVal )
  363. local xReturn := MACTYPE
  364. if xNewVal <> NIL
  365.     MACTYPE := xNewVal
  366. endif
  367. return xReturn
  368.  
  369. FUNCTION MWORKTYPE( xNewVal )
  370. local xReturn := MWORKTYPE
  371. if xNewVal <> NIL
  372.     MWORKTYPE := xNewVal
  373. endif
  374. return xReturn
  375.  
  376. FUNCTION MDATEIN( xNewVal )
  377. local xReturn := MDATEIN
  378. if xNewVal <> NIL
  379.     MDATEIN := xNewVal
  380. endif
  381. return xReturn
  382.  
  383. FUNCTION MDATEOUT( xNewVal )
  384. local xReturn := MDATEOUT
  385. if xNewVal <> NIL
  386.     MDATEOUT := xNewVal
  387. endif
  388. return xReturn
  389.  
  390. FUNCTION MDATEINV( xNewVal )
  391. local xReturn := MDATEINV
  392. if xNewVal <> NIL
  393.     MDATEINV := xNewVal
  394. endif
  395. return xReturn
  396.  
  397. FUNCTION MREGNO( xNewVal )
  398. local xReturn := MREGNO
  399. if xNewVal <> NIL
  400.     MREGNO := xNewVal
  401. endif
  402. return xReturn
  403.  
  404. FUNCTION MYEAR( xNewVal )
  405. local xReturn := MYEAR
  406. if xNewVal <> NIL
  407.     MYEAR := xNewVal
  408. endif
  409. return xReturn
  410.  
  411. FUNCTION MENGNO( xNewVal )
  412. local xReturn := MENGNO
  413. if xNewVal <> NIL
  414.     MENGNO := xNewVal
  415. endif
  416. return xReturn
  417.  
  418. FUNCTION MCHASNO( xNewVal )
  419. local xReturn := MCHASNO
  420. if xNewVal <> NIL
  421.     MCHASNO := xNewVal
  422. endif
  423. return xReturn
  424.  
  425. FUNCTION MESTNO( xNewVal )
  426. local xReturn := MESTNO
  427. if xNewVal <> NIL
  428.     MESTNO := xNewVal
  429. endif
  430. return xReturn
  431.  
  432. FUNCTION MLABESTNO( xNewVal )
  433. local xReturn := MLABESTNO
  434. if xNewVal <> NIL
  435.     MLABESTNO := xNewVal
  436. endif
  437. return xReturn
  438.  
  439. FUNCTION MCLAIMNO( xNewVal )
  440. local xReturn := MCLAIMNO
  441. if xNewVal <> NIL
  442.     MCLAIMNO := xNewVal
  443. endif
  444. return xReturn
  445.  
  446. FUNCTION MLABOUR1( xNewVal )
  447. local xReturn := MLABOUR1
  448. if xNewVal <> NIL
  449.     MLABOUR1 := xNewVal
  450. endif
  451. return xReturn
  452.  
  453. FUNCTION MLABOUR2( xNewVal )
  454. local xReturn := MLABOUR2
  455. if xNewVal <> NIL
  456.     MLABOUR2 := xNewVal
  457. endif
  458. return xReturn
  459.  
  460. FUNCTION MLABOUR3( xNewVal )
  461. local xReturn := MLABOUR3
  462. if xNewVal <> NIL
  463.     MLABOUR3 := xNewVal
  464. endif
  465. return xReturn
  466.  
  467. FUNCTION MLABOUR4( xNewVal )
  468. local xReturn := MLABOUR4
  469. if xNewVal <> NIL
  470.     MLABOUR4 := xNewVal
  471. endif
  472. return xReturn
  473.  
  474. FUNCTION MLABOURT( xNewVal )
  475. local xReturn := MLABOURT
  476. if xNewVal <> NIL
  477.     MLABOURT := xNewVal
  478. endif
  479. return xReturn
  480.  
  481. FUNCTION MINSLAB( xNewVal )
  482. local xReturn := MINSLAB
  483. if xNewVal <> NIL
  484.     MINSLAB := xNewVal
  485. endif
  486. return xReturn
  487.  
  488. FUNCTION MOWNLAB( xNewVal )
  489. local xReturn := MOWNLAB
  490. if xNewVal <> NIL
  491.     MOWNLAB := xNewVal
  492. endif
  493. return xReturn
  494.  
  495. FUNCTION MINSPART( xNewVal )
  496. local xReturn := MINSPART
  497. if xNewVal <> NIL
  498.     MINSPART := xNewVal
  499. endif
  500. return xReturn
  501.  
  502. FUNCTION MOWNPART( xNewVal )
  503. local xReturn := MOWNPART
  504. if xNewVal <> NIL
  505.     MOWNPART := xNewVal
  506. endif
  507. return xReturn
  508.  
  509. FUNCTION MINSSPEC( xNewVal )
  510. local xReturn := MINSSPEC
  511. if xNewVal <> NIL
  512.     MINSSPEC := xNewVal
  513. endif
  514. return xReturn
  515.  
  516. FUNCTION MOWNSPEC( xNewVal )
  517. local xReturn := MOWNSPEC
  518. if xNewVal <> NIL
  519.     MOWNSPEC := xNewVal
  520. endif
  521. return xReturn
  522.  
  523. FUNCTION MINSAMT( xNewVal )
  524. local xReturn := MINSAMT
  525. if xNewVal <> NIL
  526.     MINSAMT := xNewVal
  527. endif
  528. return xReturn
  529.  
  530. FUNCTION MOWNAMT( xNewVal )
  531. local xReturn := MOWNAMT
  532. if xNewVal <> NIL
  533.     MOWNAMT := xNewVal
  534. endif
  535. return xReturn
  536.  
  537. FUNCTION MEXCESS( xNewVal )
  538. local xReturn := MEXCESS
  539. if xNewVal <> NIL
  540.     MEXCESS := xNewVal
  541. endif
  542. return xReturn
  543.  
  544. FUNCTION MCONTRIB( xNewVal )
  545. local xReturn := MCONTRIB
  546. if xNewVal <> NIL
  547.     MCONTRIB := xNewVal
  548. endif
  549. return xReturn
  550.  
  551. FUNCTION MINSDUE( xNewVal )
  552. local xReturn := MINSDUE
  553. if xNewVal <> NIL
  554.     MINSDUE := xNewVal
  555. endif
  556. return xReturn
  557.  
  558. FUNCTION MOWNDUE( xNewVal )
  559. local xReturn := MOWNDUE
  560. if xNewVal <> NIL
  561.     MOWNDUE := xNewVal
  562. endif
  563. return xReturn
  564.  
  565. FUNCTION MINVTOTAL( xNewVal )
  566. local xReturn := MINVTOTAL
  567. if xNewVal <> NIL
  568.     MINVTOTAL := xNewVal
  569. endif
  570. return xReturn
  571.  
  572. FUNCTION MCUSTTYP( xNewVal )
  573. local xReturn := MCUSTTYP
  574. if xNewVal <> NIL
  575.     MCUSTTYP := xNewVal
  576. endif
  577. return xReturn
  578.  
  579. FUNCTION ML2TEXT( xNewVal )
  580. local xReturn := ML2TEXT
  581. if xNewVal <> NIL
  582.     ML2TEXT := xNewVal
  583. endif
  584. return xReturn
  585.  
  586. FUNCTION ML3TEXT( xNewVal )
  587. local xReturn := ML3TEXT
  588. if xNewVal <> NIL
  589.     ML3TEXT := xNewVal
  590. endif
  591. return xReturn
  592.  
  593. FUNCTION ML4TEXT( xNewVal )
  594. local xReturn := ML4TEXT
  595. if xNewVal <> NIL
  596.     ML4TEXT := xNewVal
  597. endif
  598. return xReturn
  599.  
  600. FUNCTION MTRIM( xNewVal )
  601. local xReturn := MTRIM
  602. if xNewVal <> NIL
  603.     MTRIM := xNewVal
  604. endif
  605. return xReturn
  606.  
  607. FUNCTION MPARTSPEC( xNewVal )
  608. local xReturn := MPARTSPEC
  609. if xNewVal <> NIL
  610.     MPARTSPEC := xNewVal
  611. endif
  612. return xReturn
  613.  
  614. FUNCTION MPARTDESC( xNewVal )
  615. local xReturn := MPARTDESC
  616. if xNewVal <> NIL
  617.     MPARTDESC := xNewVal
  618. endif
  619. return xReturn
  620.  
  621. FUNCTION MQTY( xNewVal )
  622. local xReturn := MQTY
  623. if xNewVal <> NIL
  624.     MQTY := xNewVal
  625. endif
  626. return xReturn
  627.  
  628. FUNCTION MTPRICE( xNewVal )
  629. local xReturn := MTPRICE
  630. if xNewVal <> NIL
  631.     MTPRICE := xNewVal
  632. endif
  633. return xReturn
  634.  
  635. FUNCTION MUPRICE( xNewVal )
  636. local xReturn := MUPRICE
  637. if xNewVal <> NIL
  638.     MUPRICE := xNewVal
  639. endif
  640. return xReturn
  641.  
  642. FUNCTION MOWNINIT( xNewVal )
  643. local xReturn := MOWNINIT
  644. if xNewVal <> NIL
  645.     MOWNINIT := xNewVal
  646. endif
  647. return xReturn
  648.  
  649. FUNCTION IPDSCNT( xNewVal )
  650. local xReturn := IPDSCNT
  651. if xNewVal <> NIL
  652.     IPDSCNT := xNewVal
  653. endif
  654. return xReturn
  655.  
  656. FUNCTION OPDSCNT( xNewVal )
  657. local xReturn := OPDSCNT
  658. if xNewVal <> NIL
  659.     OPDSCNT := xNewVal
  660. endif
  661. return xReturn
  662.  
  663. FUNCTION ISUBTOT( xNewVal )
  664. local xReturn := ISUBTOT
  665. if xNewVal <> NIL
  666.     ISUBTOT := xNewVal
  667. endif
  668. return xReturn
  669.  
  670. FUNCTION OSUBTOT( xNewVal )
  671. local xReturn := OSUBTOT
  672. if xNewVal <> NIL
  673.     OSUBTOT := xNewVal
  674. endif
  675. return xReturn
  676.  
  677. FUNCTION IVATAMT( xNewVal )
  678. local xReturn := IVATAMT
  679. if xNewVal <> NIL
  680.     IVATAMT := xNewVal
  681. endif
  682. return xReturn
  683.  
  684. FUNCTION OVATAMT( xNewVal )
  685. local xReturn := OVATAMT
  686. if xNewVal <> NIL
  687.     OVATAMT := xNewVal
  688. endif
  689. return xReturn
  690.  
  691. FUNCTION INSSUB( xNewVal )
  692. local xReturn := INSSUB
  693. if xNewVal <> NIL
  694.     INSSUB := xNewVal
  695. endif
  696. return xReturn
  697.  
  698. FUNCTION OWNSUB( xNewVal )
  699. local xReturn := OWNSUB
  700. if xNewVal <> NIL
  701.     OWNSUB := xNewVal
  702. endif
  703. return xReturn
  704.  
  705. FUNCTION MCDESC( xNewVal )
  706. local xReturn := MCDESC
  707. if xNewVal <> NIL
  708.     MCDESC := xNewVal
  709. endif
  710. return xReturn
  711.  
  712. FUNCTION MADD( xNewVal )
  713. local xReturn := MADD
  714. if xNewVal <> NIL
  715.     MADD := xNewVal
  716. endif
  717. return xReturn
  718.  
  719. FUNCTION MPLINENO( xNewVal )
  720. local xReturn := MPLINENO
  721. if xNewVal <> NIL
  722.     MPLINENO := xNewVal
  723. endif
  724. return xReturn
  725.  
  726. FUNCTION MEDITING( xNewVal )
  727. local xReturn := MEDITING
  728. if xNewVal <> NIL
  729.     MEDITING := xNewVal
  730. endif
  731. return xReturn
  732.  
  733. FUNCTION AUTOADD( xNewVal )
  734. local xReturn := AUTOADD
  735. if xNewVal <> NIL
  736.     AUTOADD := xNewVal
  737. endif
  738. return xReturn
  739.  
  740. FUNCTION PARTFLDS( xIndex, xParam )
  741. local xOldVal
  742. if xIndex == NIL
  743. xOldVal := PARTFLDS
  744. elseif valtype( xIndex ) == "A"
  745.    xOldVal := PARTFLDS
  746.     PARTFLDS := xIndex
  747. elseif valtype( xIndex ) == "N"
  748.    xOldVal := PARTFLDS[ xIndex ]
  749.    if xParam != NIL
  750.     PARTFLDS[ xIndex ] := xParam
  751.    endif
  752. endif
  753. return xOldVal
  754.  
  755. FUNCTION PARTHDRS( xIndex, xParam )
  756. local xOldVal
  757. if xIndex == NIL
  758. xOldVal := PARTHDRS
  759. elseif valtype( xIndex ) == "A"
  760.    xOldVal := PARTHDRS
  761.     PARTHDRS := xIndex
  762. elseif valtype( xIndex ) == "N"
  763.    xOldVal := PARTHDRS[ xIndex ]
  764.    if xParam != NIL
  765.     PARTHDRS[ xIndex ] := xParam
  766.    endif
  767. endif
  768. return xOldVal
  769.  
  770. FUNCTION PARTPICS( xIndex, xParam )
  771. local xOldVal
  772. if xIndex == NIL
  773. xOldVal := PARTPICS
  774. elseif valtype( xIndex ) == "A"
  775.    xOldVal := PARTPICS
  776.     PARTPICS := xIndex
  777. elseif valtype( xIndex ) == "N"
  778.    xOldVal := PARTPICS[ xIndex ]
  779.    if xParam != NIL
  780.     PARTPICS[ xIndex ] := xParam
  781.    endif
  782. endif
  783. return xOldVal
  784. // End of file
  785.